setTimeout(0, callback) אומר לדפדפן להריץ את ה-callback (הפונקציה שכתובה בפנים) אחרי 0 מילישניות. עם זאת, בפועל, זה לא אומר שהתוכנית תרוץ מיד, אלא שהיא תיכנס לתור המשימות (Task Queue) ותופעל רק לאחר שה-Call Stack מתפנה.
מה ההבדל בין setTimeout(0) לבין פונקציה שרצה ישירות בלי setTimeout?
הרצת הקוד מיד: אם תכתוב פונקציה בלי setTimeout, היא תרוץ מידית בזמן שהסקריפט מבצע את הרצת הקוד הסינכרוני.
הרצת הקוד לאחר שה-Call Stack מתפנה: אם תשתמש ב-setTimeout(0), היא תיכנס לתור האירועים (Event Queue) ותבוצע רק לאחר שכל הקוד הסינכרוני יסתיי
על מנת לצפות במידע ששותף על ידי חברי TheWorker
אנא שתפו גם אתם את הקהילה!
וואי סולושין
80 עובדים
משרדים ראשיים: ראש העין
בחברתנו, אנו הופכים את החלומות הדיגיטליים של לקוחותינו למציאות. אנו עובדים בשיתוף פעולה הדוק עם המשתמשים שלנו לאורך הפיתוח כדי להבטיח שאנו עדיין מיושרים עם המטרה הסופית. אנו מחויבים לייצר תוכנה יוצאת דופן עבור כל אחד מלקוחותינו.